package olga.gorbatiuk.perdep.sorting.arrayfiller.impl;

enum Order {

    ASC() {
                boolean isOrderOk(int[] array, int i) {
                    return (array[i] <= array[i + 1]);
                }
            },
    ASC_RAND_LAST() {
                boolean isOrderOk(int[] array, int i) {
                    if (i == array.length - 2) {
                        return true;
                    }
                    return ASC.isOrderOk(array, i);
                }
            },
    DESC() {
                boolean isOrderOk(int[] array, int i) {
                    return (array[i] >= array[i + 1]);
                }
            };

    abstract boolean isOrderOk(int[] array, int i);
}
